from django.db import models
from django.contrib.auth.models import AbstractUser


# 需求:

# 用户模型:
# 昵称 - 不是唯一的
# 电话号码

# 用户简介模型[profile]（个人概述-不那么重要的个人信息)
# 用户id  (和用户模型是一对一关系)
# 头像
# 性别
# 地区
# 个性签名

# 用户名或者电话号码或者邮箱 密码登录
# 电话号码免密码登录 - 需要发送短信验证码

# 需要重写用户模型和验证后端

# 邮箱和电话号码必须是唯一的
# 其中邮箱是必填项 - 因为用户容易忘记用户名,邮箱可以让用户找回密码
# 允许用户修改邮箱或者电话号码
# 用户名必须是唯一的并且不可以修改

class User(AbstractUser):
    nickname = models.CharField('昵称', max_length=32, blank=True, help_text='昵称不能超过32个子读')
    mobile_phone = models.CharField('电话', max_length=11, blank=True, unique=True, help_text='手机号码不能超过11位')
    # 重写email字段，添加唯一约束
    email = models.EmailField('邮箱', blank=True, unique=True)

